<?php

    if (!defined('__IS_LEAF__')) exit('Access Denied!');

    /**
     * Db工厂类
     * 实例化配置（系统为默认，用户可自定义）中驱动类，定义基类通用方法
     */
    class DbFactory {

        static private $_tableName;
        static private $_dbDriver;
        static private $_dbConfig;

        //根据用户配置，实例化数据库驱动类
        static public function getDbInstance($tableName){
            self::$_tableName = $tableName;
            self::_preAttributesInit();    //对属性初始化，执行表名验证
            return new self::$_dbDriver(self::$_dbConfig);
        }


        /**
         * 预初始化操作，根据用户或系统配置，定义数据库连接信息的常量
         */
        static protected function _preAttributesInit(){
            self::$_dbDriver = C('db_driver');
            self::$_dbConfig = array(C('db_host'), C('db_port'), C('db_name'), C('db_user'), C('db_pwd'), self::$_tableName);
        }

        /**
         * 验证表的合法性
         */
        protected function _tableNameValidate(){

        }


    }